package org.example.domain.repository;

import org.example.domain.model.entity.url.UrlShortenerAccessStats;
import org.example.domain.model.entity.url.req.UrlShortenerGroupStatsReq;
import org.example.domain.model.entity.url.req.UrlShortenerStatsReq;

import java.util.List;

public interface UrlShortenerAccessStatsRepository {
    void insertUrlShortenerAccessStats(UrlShortenerAccessStats urlShortenerAccessStats);

    List<UrlShortenerAccessStats> listStatsByUrlShortener(UrlShortenerStatsReq urlShortenerStatsReq);

    List<UrlShortenerAccessStats> hourStatsByUrlShortenerList(UrlShortenerStatsReq urlShortenerStatsReq);

    List<UrlShortenerAccessStats> weekdayStatsByUrlShortenerList(UrlShortenerStatsReq urlShortenerStatsReq);

    List<UrlShortenerAccessStats> urlShortenerAccessStatsByGroupList(UrlShortenerGroupStatsReq urlShortenerGroupStatsReq);

    List<UrlShortenerAccessStats> hourStatsByGroupList(UrlShortenerGroupStatsReq urlShortenerGroupStatsReq);

    List<UrlShortenerAccessStats> weekdayStatsByGroupList(UrlShortenerGroupStatsReq urlShortenerGroupStatsReq);
}
